Data storage technology is an integral part of modern electronic computing and electronic communication. One of the great stimuli for advancement in electronic computing, personal electronics, and electronic communication has been rapid advancements in storage technology. For instance, Moore's law predicts, with fair accuracy, that the number of transistors that can be placed onto an integrated circuit will double approximately every two years. Corollaries to Moore's law suggest that similar increases result in processing power, pixel size in digital displays (e.g., liquid crystal displays), and capacity for data storage devices. For many years, those predictions have been relatively correct.
As storage capacity increases, so can the complexity of applications implemented on an electronic device. For instance, increased storage capacity results in smaller devices, typically running at cooler temperatures. When coupled with increased processing power, additional performance and complexity can be implemented in a smaller package. Accordingly, small hand-sized devices having the capacity and usefulness of desktop computers just a few years old are available.
Although data storage capacity has increased significantly, the fundamental implementation of logical interface (or abstraction) to such devices has remained relatively constant. For instance, whether a tape drive, hard disk, compact disc, random access memory, or the like, physical storage area of such devices is typically characterized by blocks of fixed size memory, addressed by location. Thus, data storage or memory is often characterized as building blocks of fixed size segments of physical storage media. A small set of data can be saved to one or a few such blocks, whereas larger sets of data are saved to larger numbers of blocks. Furthermore, an addressing scheme is employed to link blocks storing related data, in order to facilitate recollection of such data.
Although typical block-level addressing schemes (e.g., employing a tag and location to identify and find particular blocks of storage) are usually not intuitive or useful for device users, due to the vast numbers of storage blocks, such schemes can be useful for interface by host electronic systems. Systems can further abstract a block-level data characterization into a ‘higher’ level characterization helpful to users. For instance, an operating system might characterize storage as a hierarchy of files comprising subsets of a superset of data storage. As another example, a database might characterize storage as a data table, spreadsheet, or the like. Such systems have proven useful for users to understand and manipulate data storage. As the number of types of electronic devices (e.g., desktops, laptops, mobile phones, personal digital assistants, gaming systems, etc.) and the operating systems and applications become more diverse, the quantization or atomicity of block-level storage has proved a powerful tool.
In addition to the foregoing, memory and processing resources of electronic devices have generally followed Moore's Law. To paraphrase Moore's Law, the number of transistors on a chip (impacting both storage space and processing efficiency) will approximately double every two years. New mass storage devices, such as hard drives, FLASH chips, random access memory (RAM), and the like, therefore have gained significant storage space per volume over the previous several years. Moreover, data processing and memory interface speeds have improved as well, both for external and on-board processing, yielding increased efficiency for such devices. Accordingly, higher level abstractions of storage (e.g., databases) can significantly enhance operation of a host system coupled with a storage device, and further improvements in storage and processing efficiency are anticipated to further those enhancements.